package com.bls.cate.ui.activity.main;

import android.net.Uri;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.LinearLayout;

import com.blankj.utilcode.util.LogUtils;
import com.bls.blslib.base.BaseActivity;
import com.bls.blslib.base.BaseFragment;
import com.bls.blslib.eventbus.Event;
import com.bls.cate.R;
import com.bls.cate.constant.EventBusCode;
import com.bls.cate.ui.fragment.User.UserFragment;
import com.lzy.okgo.model.Response;

import java.util.ArrayList;


/**
 * 　　  () 　　　  ()
 * 　　  ( ) 　　　( )
 * 　　  ( ) 　　　( )
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　┻　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ——————————————————
 * Created by BinglingSu on 2017/12/20.
 */

public class MainActivity extends BaseActivity {

    private LinearLayout btnTab1, btnTab2, btnTab3, btnTab4;
    private ArrayList<Fragment> fragments = new ArrayList<>();
    private Fragment hideFrag = null; //将要隐藏的Fragment

    @Override
    protected int getLayoutId() {
        return R.layout.activity_main;
    }

    @Override
    protected void initView() {
        super.initView();
        btnTab1 = findViewById(R.id.btn_tab_1);
        btnTab2 = findViewById(R.id.btn_tab_2);
        btnTab3 = findViewById(R.id.btn_tab_3);
        btnTab4 = findViewById(R.id.btn_tab_4);

        fragments.add(UserFragment.newInstance("", ""));
        fragments.add(UserFragment.newInstance("", ""));
        fragments.add(UserFragment.newInstance("", ""));
        fragments.add(UserFragment.newInstance("", ""));

        switchFrag(0);
    }

    private void switchFrag(int index) {
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.add(R.id.fl_content, fragments.get(index));
        hideFragment(transaction, hideFrag);
        transaction.show(fragments.get(index));
        hideFrag = fragments.get(index);
        transaction.commit();
    }

    private void hideFragment(FragmentTransaction transaction, Fragment hideFrag) {
        if (null != hideFrag)
            transaction.hide(hideFrag);
    }

    @Override
    protected void initListener() {
        setOnClickListener(btnTab1, btnTab2, btnTab3, btnTab4);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_tab_1:
                switchFrag(0);
                break;
            case R.id.btn_tab_2:
                switchFrag(1);
                break;
            case R.id.btn_tab_3:
                switchFrag(2);
                break;
            case R.id.btn_tab_4:
                switchFrag(3);
                break;
        }
    }


}
